As information technology has developed, the amount of incoming data has increased dramatically. Data communication systems have developed from simple solutions that linked a single user to one other user to vast communication networks that communicate large amounts of data among a large number of users. These data communication systems often continue to grow over time, with new and/or faster communications structures being added constantly.
This evolution of data communication systems has precipitated a parallel development in the logic used to interpret the data communicated thereon. One such strategy involves attempting to discern a pattern in the data that is being communicated. Such patterns can help to provide meaning to the large volume of communications that might otherwise be difficult.